A fibre channel fabric typically uses a set of interconnected host bus adapters ((HBAs) which connects a host in/out bus to a computer terminal's memory), bridges, storage devices and switches. A storage area network (SAN) installation may include multiple fabrics for redundancy. Typically, a fabric may be considered as a set of switches sharing inter-switch links (ISLs) together with the devices to which they are connected. A SAN with multiple switches not connected by ISLs provide multiple fabrics.
In a fibre channel, device addressing may be handling in one of several ways. The first approach uses the worldwide name (WWN) of the device which is a 64-bit address that uniquely identifies each device globally to ensure that no duplicate WWNs are in the fibre channel network. This is commonly used to make basic user-level management changes such as zoning for device access. Another approach uses fibre channel identification (FCID) which is 24-bit and is configured to be a dynamic address assigned by the fabric when a device logs in to reduce complexity of addressing for internal use by the fabric.
More specifically, the FCID includes three components—the domain, the area and the port. The domain is a unique number assigned to each switch in a logical fabric. A domain ID assigned to a switch may range, for example, from 1 to 239. This number includes the first 8 bit of the FCID. The area is an 8-bit area field which is assigned by the switch also. The area can range from 0 to 255. In some cases, the area may be assigned by using the physical port number (for example, port 3 out of 16 ports) limiting availability in some operating systems. The port field is also 8 bits and ranges from 0 to 256, in one example. The port field is unique in that it also is used to assign the arbitrated loop physical address (ARPA) for devices that use loop. When arbitrated loop is not used, the port field may be set to 0.
Using the domain, the area and the port fields, each device is assigned a 24 bits of FCID when it logs into the fabric, and is used as a simplified addressing scheme, replacing the WWN internally to the fabric including the name server queries to routing. While WWNs are unique globally, FCIDs are required to be unique only within the logical fabric in which they are assigned.
With the increase in the scale of storage area network (SAN) configurations and SAN consolidations, reducing the number of physical networks while increasing the number of switches in these networks raises a significant domain ID assignment issue. In many environments, domain IDs already overlap in different physical infrastructures as a result of, for example, the large size of the SAN, or miscalculation of how fast SANs would expand in the environment.
Currently, in a fibre channel fabric, there is provided one principal switch which is configured to assign unique domains to all switches in the fabric. If the requested domain is not available or a request for a non-specific domain (e.g., a request for 0) is received by the principal switch, then the principal switch is allowed to assign any available domain to the request. Such domain assignment may raise compatibility issues with other switches (for example, with the interop mode where domains outside the range of 91-127 may not be assigned). Also, in certain cases, inter-VSAN routing (IVR) may be adversely effected where some domains used in transit VSANs need to avoid assignment in the local VSAN.
In view of the foregoing, it would be desirable to have methods and systems for providing distributed allowed domains in a fiber channel fabric to potentially avoid conflicts or other adverse network management related issues.